package com.cpi.cornpp.instructionsstrategies.services;

import java.util.List;

import com.cpi.cornpp.common.exception.CornPPException;
import com.cpi.cornpp.instructionsstrategies.converter.InstructionsStrategiesConverter;
import com.cpi.cornpp.instructionsstrategies.dao.InstructionsStrategiesDAO;
import com.cpi.cornpp.instructionsstrategies.exception.InstructionsStrategiesException;

/**
 * Instructions Strategies Service
 * @author Edgar Joao
 *
 */
public class InstructionsStrategiesService {
	/**
	 * Lista de Instructions Strategies
	 * @return
	 * @throws InstructionsStrategiesException
	 */
	public List getInstructionsStrategiesList() throws InstructionsStrategiesException {
		InstructionsStrategiesDAO dao = null;
		InstructionsStrategiesConverter converter = null;		
		List list = null;				
		try{
			dao = new InstructionsStrategiesDAO();
			converter = new InstructionsStrategiesConverter();
			list =  converter.convertDTOsToViews(dao.getInstructionsStrategiesList());			
		} catch (InstructionsStrategiesException instructionsStrategiesException) {
			throw instructionsStrategiesException;
		} catch (Exception e){
			InstructionsStrategiesException instructionsStrategiesException = null;
			e.printStackTrace(System.out);
			instructionsStrategiesException = new InstructionsStrategiesException(e , CornPPException.LAYER_SERVICE,CornPPException.ACTION_LISTS);
			throw instructionsStrategiesException;
		}							
		return list;
	}
}
